import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

class PersonSortable2
{
	private String name;
	private int age;
	

	
	public PersonSortable2(String name,int age) 
	{
		this.name = name;
		this.age = age;
	}
	
	public String toString() 
	{
		return name + "-" + age;
	}
	
	public String getName() 
	{
		return name;
	}
	
	public void setName(String name) 
	{
		this.name = name;
	}
	
	public int getAge() 
	{
		return age;
	}
	
	public void setAge(int age) 
	{
		this.age = age;
	}
}




class NameComparator implements Comparator<PersonSortable2>
{
	public int compare(PersonSortable2 o1,PersonSortable2 o2)
	{
		return o1.getName().compareTo(o2.getName());
	}
}

class AgeComparator implements Comparator<PersonSortable2>
{
	public int compare(PersonSortable2 o1,PersonSortable2 o2)
	{
		return o1.getAge()-o2.getAge();
	}
}




public class Week06_7_2
{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);
		while(true)
		{
			int n = sc.nextInt();
			PersonSortable2[] stus = new PersonSortable2[n];
			for(int i=0;i<n;i++)
			{
				stus[i] = new PersonSortable2(sc.next(), sc.nextInt());
			}
			
			Arrays.sort(stus,new NameComparator());
			System.out.println("NameComparator:sort");
			for(int i=0;i<n;i++)
			{
				System.out.println(stus[i]);
			}
			
			Arrays.sort(stus,new AgeComparator());
			System.out.println("AgeComparator:sort");
			for(int i=0;i<n;i++)
			{
				System.out.println(stus[i]);
			}
			System.out.println(Arrays.toString(NameComparator.class.getInterfaces()));
			System.out.println(Arrays.toString(AgeComparator.class.getInterfaces()));
		}
	}
}